//
//  Category.swift
//  SFSymbol
//
// Permission is hereby granted, free of charge, to any person obtaining a copy
// of this software and associated documentation files (the "Software"), to deal
// in the Software without restriction, including without limitation the rights
// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
// copies of the Software, and to permit persons to whom the Software is
// furnished to do so, subject to the following conditions:
//
// The above copyright notice and this permission notice shall be included in
// all copies or substantial portions of the Software.
//
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
// THE SOFTWARE.

import Foundation

public enum Category: String, CaseIterable {

    case all = "All"
    case communication = "Communication"
    case weather = "Weather"
    case objectsAndTools = "Objects & Tools"
    case devices = "Devices"
    case connectivity = "Connectivity"
    case transportation = "Transportation"
    case human = "Human"
    case nature = "Nature"
    case editing = "Editing"
    case textFormatting = "Text Formatting"
    case media = "Media"
    case keyboard = "Keyboard"
    case commerce = "Commerce"
    case time = "Time"
    case health = "Health"
    case shapes = "Shapes"
    case arrows = "Arrows"
    case indices = "Indices"
    case math = "Math"

    public func symbols() -> [SFSymbol] {
        switch self {
        case .all:
            return SFSymbol.allCases

        case .communication:
            return [.mic, .micFill, .micCircle, .micCircleFill, .micSlash, .micSlashFill, .message, .messageFill, .messageCircle, .messageCircleFill, .bubbleRight, .bubbleRightFill, .bubbleLeft, .bubbleLeftFill, .exclamationmarkBubble, .exclamationmarkBubbleFill, .quoteBubble, .quoteBubbleFill, .tBubble, .tBubbleFill, .textBubble, .textBubbleFill, .captionsBubble, .captionsBubbleFill, .plusBubble, .plusBubbleFill, .ellipsesBubble, .ellipsesBubbleFill, .bubbleLeftAndBubbleRight, .bubbleLeftAndBubbleRightFill, .phone, .phoneFill, .phoneCircle, .phoneCircleFill, .phoneBadgePlus, .phoneArrowUpRight, .phoneArrowDownLeft, .phoneArrowRight, .phoneDown, .phoneDownFill, .phoneDownCircle, .phoneDownCircleFill, .teletype, .video, .videoFill, .videoCircle, .videoCircleFill, .videoSlash, .videoSlashFill, .videoBadgePlus, .videoBadgePlusFill, .arrowUpRightVideo, .arrowUpRightVideoFill, .arrowDownLeftVideo, .arrowDownLeftVideoFill, .questionmarkVideo, .questionmarkVideoFill, .envelope, .envelopeFill, .envelopeCircle, .envelopeCircleFill, .envelopeOpen, .envelopeOpenFill, .envelopeBadge, .envelopeBadgeFill]

        case .weather:
            return [.sunMin, .sunMinFill, .sunMax, .sunMaxFill, .sunrise, .sunriseFill, .sunset, .sunsetFill, .sunDust, .sunDustFill, .sunHaze, .sunHazeFill, .moon, .moonFill, .moonCircle, .moonCircleFill, .zzz, .moonZzz, .moonZzzFill, .sparkles, .moonStars, .moonStarsFill, .cloud, .cloudFill, .cloudDrizzle, .cloudDrizzleFill, .cloudRain, .cloudRainFill, .cloudHeavyrain, .cloudHeavyrainFill, .cloudFog, .cloudFogFill, .cloudHail, .cloudHailFill, .cloudSnow, .cloudSnowFill, .cloudSleet, .cloudSleetFill, .cloudBolt, .cloudBoltFill, .cloudSun, .cloudSunFill, .cloudSunRain, .cloudSunRainFill, .cloudSunBolt, .cloudSunBoltFill, .cloudMoon, .cloudMoonFill, .cloudMoonRain, .cloudMoonRainFill, .cloudBoltRain, .cloudBoltRainFill, .cloudMoonBolt, .cloudMoonBoltFill, .smoke, .smokeFill, .wind, .snow, .windSnow, .tornado, .tropicalstorm, .hurricane, .thermometerSun, .thermometerSnowflake, .thermometer]

        case .objectsAndTools:
            return [.pencil, .pencilCircle, .pencilCircleFill, .pencilSlash, .squareAndPencil, .pencilAndEllipsisRectangle, .pencilAndOutline, .trash, .trashFill, .trashCircle, .trashCircleFill, .trashSlash, .trashSlashFill, .folder, .folderFill, .folderCircle, .folderCircleFill, .folderBadgePlus, .folderBadgeMinus, .folderBadgePersonCrop, .paperplane, .paperplaneFill, .tray, .trayFill, .trayAndArrowUp, .trayAndArrowUpFill, .trayAndArrowDown, .trayAndArrowDownFill, .tray2, .tray2Fill, .trayFull, .trayFullFill, .archivebox, .archiveboxFill, .binXmark, .binXmarkFill, .arrowUpBin, .arrowUpBinFill, .calendar, .calendarCircle, .calendarCircleFill, .calendarBadgePlus, .calendarBadgeMinus, .book, .bookFill, .bookCircle, .bookCircleFill, .bookmark, .bookmarkFill, .rosette, .paperclip, .rectangleAndPaperclip, .link, .linkCircle, .linkCircleFill, .pencilTip, .pencilTipCropCircle, .pencilTipCropCircleBadgePlus, .pencilTipCropCircleBadgeMinus, .umbrella, .umbrellaFill, .magnifyingglass, .magnifyingglassCircle, .magnifyingglassCircleFill, .plusMagnifyingglass, .minusMagnifyingglass, .number1Magnifyingglass, .flag, .flagFill, .flagCircle, .flagCircleFill, .flagSlash, .flagSlashFill, .bell, .bellFill, .bellCircle, .bellCircleFill, .bellSlash, .bellSlashFill, .tag, .tagFill, .tagCircle, .tagCircleFill, .camera, .cameraFill, .cameraCircle, .cameraCircleFill, .cameraRotate, .cameraRotateFill, .cameraOnRectangle, .cameraOnRectangleFill, .gear, .scissors, .wandAndRays, .wandAndRaysInverse, .wandAndStars, .wandAndStarsInverse, .crop, .cropRotate, .dial, .dialFill, .gauge, .gaugeBadgePlus, .gaugeBadgeMinus, .speedometer, .metronome, .tuningfork, .paintbrush, .paintbrushFill, .bandage, .bandageFill, .wrench, .wrenchFill, .hammer, .hammerFill, .eyedropper, .eyedropperHalffull, .eyedropperFull, .printer, .printerFill, .briefcase, .briefcaseFill, .lock, .lockFill, .lockCircle, .lockCircleFill, .lockSlash, .lockSlashFill, .lockOpen, .lockOpenFill, .lockRotation, .lockRotationOpen, .pin, .pinFill, .pinSlash, .pinSlashFill, .mappin, .mappinSlash, .mappinAndEllipse, .map, .mapFill, .antennaRadiowavesLeftAndRight, .guitars, .bedDouble, .bedDoubleFill, .film, .filmFill, .cameraViewfinder, .shield, .shieldFill, .shieldSlash, .shieldSlashFill, .lockShield, .lockShieldFill, .checkmarkShield, .checkmarkShieldFill, .xmarkShield, .xmarkShieldFill, .exclamationmarkShield, .exclamationmarkShieldFill, .shieldLefthalfFill, .cubeBox, .cubeBoxFill, .clock, .clockFill, .alarm, .alarmFill, .stopwatch, .stopwatchFill, .timer, .gamecontroller, .gamecontrollerFill, .headphones, .gift, .giftFill, .hourglass, .hourglassBottomhalfFill, .hourglassTophalfFill, .perspective, .skew, .eyeglasses, .lightbulb, .lightbulbFill, .lightbulbSlash, .lightbulbSlashFill]

        case .devices:
            return [.keyboard, .keyboardChevronCompactDown, .hifispeaker, .hifispeakerFill, .printer, .printerFill, .tv, .tvFill, .tvCircle, .tvCircleFill, .tvMusicNote, .tvMusicNoteFill, .desktopcomputer, .gamecontroller, .gamecontrollerFill, .headphones]

        case .connectivity:
            return [.wifi, .wifiSlash, .wifiExclamationmark, .dotRadiowavesLeftAndRight, .dotRadiowavesRight, .radiowavesLeft, .radiowavesRight, .antennaRadiowavesLeftAndRight]

        case .transportation:
            return [.carFill, .tramFill, .airplane]

        case .human:
            return [.person, .personFill, .personCircle, .personCircleFill, .personBadgePlus, .personBadgePlusFill, .personBadgeMinus, .personBadgeMinusFill, .person3, .person3Fill, .personCropCircle, .personCropCircleFill, .personCropCircleBadgePlus, .personCropCircleBadgeMinus, .personCropCircleBadgeCheckmark, .personCropCircleBadgeXmark, .personCropCircleBadgeExclam, .personCropSquare, .personCropSquareFill, .eye, .eyeFill, .eyeSlash, .eyeSlashFill, .rectangleStackPersonCrop, .rectangleStackPersonCropFill, .person2SquareStack, .person2SquareStackFill, .ear, .handRaised, .handRaisedFill, .handRaisedSlash, .handRaisedSlashFill, .handThumbsup, .handThumbsupFill, .handThumbsdown, .handThumbsdownFill, .handDraw, .handDrawFill, .handPointLeft, .handPointLeftFill, .handPointRight, .handPointRightFill]

        case .nature:
            return [.flame, .flameFill, .bolt, .boltFill, .boltCircle, .boltCircleFill, .boltSlash, .boltSlashFill, .ant, .antFill, .antCircle, .antCircleFill, .hare, .hareFill, .tortoise, .tortoiseFill, .leafArrowCirclepath]

        case .editing:
            return [.pencil, .pencilCircle, .pencilCircleFill, .pencilSlash, .squareAndPencil, .pencilAndOutline, .pencilTip, .pencilTipCropCircle, .pencilTipCropCircleBadgePlus, .pencilTipCropCircleBadgeMinus, .eyeSlash, .eyeSlashFill, .signature, .scissors, .wandAndRays, .wandAndRaysInverse, .wandAndStars, .wandAndStarsInverse, .crop, .cropRotate, .dial, .dialFill, .paintbrush, .paintbrushFill, .bandage, .bandageFill, .eyedropper, .eyedropperHalffull, .eyedropperFull, .rotateLeft, .rotateLeftFill, .rotateRight, .rotateRightFill, .selectionPinInOut, .sliderHorizontalBelowRectangle, .perspective, .skew, .scribble, .lasso, .sliderHorizontal3, .circleLefthalfFill, .circleRighthalfFill]

        case .textFormatting:
            return [.paragraph, .listDash, .listBullet, .listBulletIndent, .listNumber, .decreaseQuotelevel, .increaseQuotelevel, .textAlignleft, .textAligncenter, .textAlignright, .textJustify, .textJustifyleft, .textJustifyright, .a, .textformatSize, .textformatAlt, .textformat, .textformatSubscript, .textformatSuperscript, .bold, .italic, .underline, .strikethrough, .boldItalicUnderline, .boldUnderline, .textCursor, .textformatAbc, .textformatAbcDottedunderline, .textformat123, .textbox]

        case .media:
            return [.play, .playFill, .playCircle, .playCircleFill, .playRectangle, .playRectangleFill, .pause, .pauseFill, .pauseCircle, .pauseCircleFill, .pauseRectangle, .pauseRectangleFill, .stop, .stopFill, .playpause, .playpauseFill, .backward, .backwardFill, .forward, .forwardFill, .backwardEnd, .backwardEndFill, .forwardEnd, .forwardEndFill, .backwardEndAlt, .backwardEndAltFill, .forwardEndAlt, .forwardEndAltFill, .shuffle, .repeat, .repeat1, .goforward, .gobackward, .goforward10, .gobackward10, .goforward15, .gobackward15, .goforward30, .gobackward30, .goforward45, .gobackward45, .goforward60, .gobackward60, .goforward75, .gobackward75, .goforward90, .gobackward90, .goforward10Ar, .gobackward10Ar, .goforward15Ar, .gobackward15Ar, .goforward30Ar, .gobackward30Ar, .goforward45Ar, .gobackward45Ar, .goforward60Ar, .gobackward60Ar, .goforward75Ar, .gobackward75Ar, .goforward90Ar, .gobackward90Ar, .goforward10Hi, .gobackward10Hi, .goforward15Hi, .gobackward15Hi, .goforward30Hi, .gobackward30Hi, .goforward45Hi, .gobackward45Hi, .goforward60Hi, .gobackward60Hi, .goforward75Hi, .gobackward75Hi, .goforward90Hi, .gobackward90Hi, .goforwardPlus, .gobackwardMinus]

        case .keyboard:
            return [.command, .option, .alt, .deleteRight, .deleteRightFill, .clear, .clearFill, .deleteLeft, .deleteLeftFill, .shift, .shiftFill, .capslock, .capslockFill, .escape, .power, .globe, .sunMin, .sunMinFill, .sunMax, .sunMaxFill, .lightMin, .lightMax, .keyboard, .keyboardChevronCompactDown, .eject, .ejectFill, .control, .projective]

        case .commerce:
            return [.signature, .bag, .bagFill, .bagBadgePlus, .bagBadgeMinus, .cart, .cartFill, .cartBadgePlus, .cartBadgeMinus, .creditcard, .creditcardFill, .dollarsignCircle, .dollarsignCircleFill, .centsignCircle, .centsignCircleFill, .yensignCircle, .yensignCircleFill, .sterlingsignCircle, .sterlingsignCircleFill, .francsignCircle, .francsignCircleFill, .florinsignCircle, .florinsignCircleFill, .turkishlirasignCircle, .turkishlirasignCircleFill, .rublesignCircle, .rublesignCircleFill, .eurosignCircle, .eurosignCircleFill, .dongsignCircle, .dongsignCircleFill, .indianrupeesignCircle, .indianrupeesignCircleFill, .tengesignCircle, .tengesignCircleFill, .pesetasignCircle, .pesetasignCircleFill, .pesosignCircle, .pesosignCircleFill, .kipsignCircle, .kipsignCircleFill, .wonsignCircle, .wonsignCircleFill, .lirasignCircle, .lirasignCircleFill, .australsignCircle, .australsignCircleFill, .hryvniasignCircle, .hryvniasignCircleFill, .nairasignCircle, .nairasignCircleFill, .guaranisignCircle, .guaranisignCircleFill, .coloncurrencysignCircle, .coloncurrencysignCircleFill, .cedisignCircle, .cedisignCircleFill, .cruzeirosignCircle, .cruzeirosignCircleFill, .tugriksignCircle, .tugriksignCircleFill, .millsignCircle, .millsignCircleFill, .sheqelsignCircle, .sheqelsignCircleFill, .manatsignCircle, .manatsignCircleFill, .rupeesignCircle, .rupeesignCircleFill, .bahtsignCircle, .bahtsignCircleFill, .larisignCircle, .larisignCircleFill, .bitcoinsignCircle, .bitcoinsignCircleFill, .dollarsignSquare, .dollarsignSquareFill, .centsignSquare, .centsignSquareFill, .yensignSquare, .yensignSquareFill, .sterlingsignSquare, .sterlingsignSquareFill, .francsignSquare, .francsignSquareFill, .florinsignSquare, .florinsignSquareFill, .turkishlirasignSquare, .turkishlirasignSquareFill, .rublesignSquare, .rublesignSquareFill, .eurosignSquare, .eurosignSquareFill, .dongsignSquare, .dongsignSquareFill, .indianrupeesignSquare, .indianrupeesignSquareFill, .tengesignSquare, .tengesignSquareFill, .pesetasignSquare, .pesetasignSquareFill, .pesosignSquare, .pesosignSquareFill, .kipsignSquare, .kipsignSquareFill, .wonsignSquare, .wonsignSquareFill, .lirasignSquare, .lirasignSquareFill, .australsignSquare, .australsignSquareFill, .hryvniasignSquare, .hryvniasignSquareFill, .nairasignSquare, .nairasignSquareFill, .guaranisignSquare, .guaranisignSquareFill, .coloncurrencysignSquare, .coloncurrencysignSquareFill, .cedisignSquare, .cedisignSquareFill, .cruzeirosignSquare, .cruzeirosignSquareFill, .tugriksignSquare, .tugriksignSquareFill, .millsignSquare, .millsignSquareFill, .sheqelsignSquare, .sheqelsignSquareFill, .manatsignSquare, .manatsignSquareFill, .rupeesignSquare, .rupeesignSquareFill, .bahtsignSquare, .bahtsignSquareFill, .larisignSquare, .larisignSquareFill, .bitcoinsignSquare, .bitcoinsignSquareFill]

        case .time:
            return [.clock, .clockFill, .alarm, .alarmFill, .stopwatch, .stopwatchFill, .timer]

        case .health:
            return [.heart, .heartFill, .heartCircle, .heartCircleFill, .bandage, .bandageFill, .bedDouble, .bedDoubleFill, .waveformPathEcg, .staroflife, .staroflifeFill]

        case .shapes:
            return [.rectangle, .rectangleFill, .shield, .shieldFill, .hexagon, .hexagonFill, .app, .appFill, .triangle, .triangleFill, .capsule, .capsuleFill, .circle, .circleFill, .square, . squareFill]

        case .arrows:
            return [.arrowshapeTurnUpLeft, .arrowshapeTurnUpLeftFill, .arrowshapeTurnUpLeftCircle, .arrowshapeTurnUpLeftCircleFill, .arrowshapeTurnUpRight, .arrowshapeTurnUpRightFill, .arrowshapeTurnUpRightCircle, .arrowshapeTurnUpRightCircleFill, .arrowshapeTurnUpLeft2, .arrowshapeTurnUpLeft2Fill, .location, .locationFill, .locationSlash, .locationSlashFill, .locationNorth, .locationNorthFill, .locationCircle, .locationCircleFill, .locationNorthLine, .locationNorthLineFill, .chevronUp, .chevronUpCircle, .chevronUpCircleFill, .chevronUpSquare, .chevronUpSquareFill, .chevronDown, .chevronDownCircle, .chevronDownCircleFill, .chevronDownSquare, .chevronDownSquareFill, .chevronLeft, .chevronLeftCircle, .chevronLeftCircleFill, .chevronLeftSquare, .chevronLeftSquareFill, .chevronRight, .chevronRightCircle, .chevronRightCircleFill, .chevronRightSquare, .chevronRightSquareFill, .chevronLeft2, .chevronRight2, .chevronUpChevronDown, .chevronCompactUp, .chevronCompactDown, .chevronCompactLeft, .chevronCompactRight, .arrowUp, .arrowUpCircle, .arrowUpCircleFill, .arrowUpSquare, .arrowUpSquareFill, .arrowDown, .arrowDownCircle, .arrowDownCircleFill, .arrowDownSquare, .arrowDownSquareFill, .arrowLeft, .arrowLeftCircle, .arrowLeftCircleFill, .arrowLeftSquare, .arrowLeftSquareFill, .arrowRight, .arrowRightCircle, .arrowRightCircleFill, .arrowRightSquare, .arrowRightSquareFill, .arrowUpLeft, .arrowUpLeftCircle, .arrowUpLeftCircleFill, .arrowUpLeftSquare, .arrowUpLeftSquareFill, .arrowUpRight, .arrowUpRightCircleFill, .arrowUpRightSquare, .arrowUpRightSquareFill, .arrowDownLeft, .arrowDownLeftCircle, .arrowDownLeftCircleFill, .arrowDownLeftSquare, .arrowDownLeftSquareFill, .arrowDownRight, .arrowDownRightCircle, .arrowDownRightCircleFill, .arrowDownRightSquare, .arrowDownRightSquareFill, .arrowUpArrowDown, .arrowUpArrowDownCircle, .arrowUpArrowDownCircleFill, .arrowUpArrowDownSquare, .arrowUpArrowDownSquareFill, .arrowRightArrowLeft, .arrowRightArrowLeftCircle, .arrowRightArrowLeftCircleFill, .arrowRightArrowLeftSquare, .arrowRightArrowLeftSquareFill, .arrowTurnRightUp, .arrowTurnRightDown, .arrowTurnDownLeft, .arrowTurnDownRight, .arrowTurnLeftUp, .arrowTurnLeftDown, .arrowTurnUpLeft, .arrowTurnUpRight, .arrowUturnUp, .arrowUturnUpCircle, .arrowUturnUpCircleFill, .arrowUturnUpSquare, .arrowUturnUpSquareFill, .arrowUturnDown, .arrowUturnDownCircle, .arrowUturnDownCircleFill, .arrowUturnDownSquare, .arrowUturnDownSquareFill, .arrowUturnLeft, .arrowUturnLeftCircle, .arrowUturnLeftCircleFill, .arrowUturnLeftSquare, .arrowUturnLeftSquareFill, .arrowUturnRight, .arrowUturnRightCircle, .arrowUturnRightCircleFill, .arrowUturnRightSquare, .arrowUturnRightSquareFill, .arrowUpAndDown, .arrowUpAndDownCircle, .arrowUpAndDownCircleFill, .arrowUpAndDownSquare, .arrowUpAndDownSquareFill, .arrowLeftAndRight, .arrowLeftAndRightCircle, .arrowLeftAndRightCircleFill, .arrowLeftAndRightSquare, .arrowLeftAndRightSquareFill, .arrowUpToLineAlt, .arrowUpToLine, .arrowDownToLineAlt, .arrowDownToLine, .arrowLeftToLineAlt, .arrowLeftToLine, .arrowRightToLineAlt, .arrowRightToLine, .return, .arrowClockwise, .arrowClockwiseCircle, .arrowClockwiseCircleFill, .arrowCounterclockwise, .arrowCounterclockwiseCircle, .arrowCounterclockwiseCircleFill, .arrowUpLeftAndArrowDownRight, .arrowDownRightAndArrowUpLeft, .arrow2Squarepath, .arrow2Circlepath, .arrow2CirclepathCircle, .arrow2CirclepathCircleFill, .arrow3Trianglepath, .leafArrowCirclepath, .arrowUpRightDiamond, .arrowUpRightDiamondFill, .arrowMerge, .arrowSwap, .arrowBranch, .arrowtriangleUp, .arrowtriangleUpFill, .arrowtriangleUpCircle, .arrowtriangleUpCircleFill, .arrowtriangleUpSquare, .arrowtriangleUpSquareFill, .arrowtriangleDown, .arrowtriangleDownFill, .arrowtriangleDownCircle, .arrowtriangleDownCircleFill, .arrowtriangleDownSquare, .arrowtriangleDownSquareFill, .arrowtriangleLeft, .arrowtriangleLeftFill, .arrowtriangleLeftCircle, .arrowtriangleLeftCircleFill, .arrowtriangleLeftSquare, .arrowtriangleLeftSquareFill, .arrowtriangleRight, .arrowtriangleRightFill, .arrowtriangleRightCircle, .arrowtriangleRightCircleFill, .arrowtriangleRightSquare, .arrowtriangleRightSquareFill]

        case .indices:
            return [.questionmarkCircle, .questionmarkCircleFill, .questionmarkSquare, .questionmarkSquareFill, .exclamationmarkCircle, .exclamationmarkCircleFill, .exclamationmarkSquare, .exclamationmarkSquareFill, .aCircle, .aCircleFill, .bCircle, .bCircleFill, .cCircle, .cCircleFill, .dCircle, .dCircleFill, .eCircle, .eCircleFill, .fCircle, .fCircleFill, .gCircle, .gCircleFill, .hCircle, .hCircleFill, .iCircle, .iCircleFill, .jCircle, .jCircleFill, .kCircle, .kCircleFill, .lCircle, .lCircleFill, .mCircle, .mCircleFill, .nCircle, .nCircleFill, .oCircle, .oCircleFill, .pCircle, .pCircleFill, .qCircle, .qCircleFill, .rCircle, .rCircleFill, .sCircle, .sCircleFill, .tCircle, .tCircleFill, .uCircle, .uCircleFill, .vCircle, .vCircleFill, .wCircle, .wCircleFill, .xCircle, .xCircleFill, .yCircle, .yCircleFill, .zCircle, .zCircleFill, .dollarsignCircle, .dollarsignCircleFill, .centsignCircle, .centsignCircleFill, .yensignCircle, .yensignCircleFill, .sterlingsignCircle, .sterlingsignCircleFill, .francsignCircle, .francsignCircleFill, .florinsignCircle, .florinsignCircleFill, .turkishlirasignCircle, .turkishlirasignCircleFill, .rublesignCircle, .rublesignCircleFill, .eurosignCircle, .eurosignCircleFill, .dongsignCircle, .dongsignCircleFill, .indianrupeesignCircle, .indianrupeesignCircleFill, .tengesignCircle, .tengesignCircleFill, .pesetasignCircle, .pesetasignCircleFill, .pesosignCircle, .pesosignCircleFill, .kipsignCircle, .kipsignCircleFill, .wonsignCircle, .wonsignCircleFill, .lirasignCircle, .lirasignCircleFill, .australsignCircle, .australsignCircleFill, .hryvniasignCircle, .hryvniasignCircleFill, .nairasignCircle, .nairasignCircleFill, .guaranisignCircle, .guaranisignCircleFill, .coloncurrencysignCircle, .coloncurrencysignCircleFill, .cedisignCircle, .cedisignCircleFill, .cruzeirosignCircle, .cruzeirosignCircleFill, .tugriksignCircle, .tugriksignCircleFill, .millsignCircle, .millsignCircleFill, .sheqelsignCircle, .sheqelsignCircleFill, .manatsignCircle, .manatsignCircleFill, .rupeesignCircle, .rupeesignCircleFill, .bahtsignCircle, .bahtsignCircleFill, .larisignCircle, .larisignCircleFill, .bitcoinsignCircle, .bitcoinsignCircleFill, .number0Circle, .number0CircleFill, .number1Circle, .number1CircleFill, .number2Circle, .number2CircleFill, .number3Circle, .number3CircleFill, .number4Circle, .number4CircleFill, .number4AltCircle, .number4AltCircleFill, .number5Circle, .number5CircleFill, .number6Circle, .number6CircleFill, .number6AltCircle, .number6AltCircleFill, .number7Circle, .number7CircleFill, .number8Circle, .number8CircleFill, .number9Circle, .number9CircleFill, .number9AltCircle, .number9AltCircleFill, .number00Circle, .number00CircleFill, .number01Circle, .number01CircleFill, .number02Circle, .number02CircleFill, .number03Circle, .number03CircleFill, .number04Circle, .number04CircleFill, .number05Circle, .number05CircleFill, .number06Circle, .number06CircleFill, .number07Circle, .number07CircleFill, .number08Circle, .number08CircleFill, .number09Circle, .number09CircleFill, .number10Circle, .number10CircleFill, .number11Circle, .number11CircleFill, .number12Circle, .number12CircleFill, .number13Circle, .number13CircleFill, .number14Circle, .number14CircleFill, .number15Circle, .number15CircleFill, .number16Circle, .number16CircleFill, .number17Circle, .number17CircleFill, .number18Circle, .number18CircleFill, .number19Circle, .number19CircleFill, .number20Circle, .number20CircleFill, .number21Circle, .number21CircleFill, .number22Circle, .number22CircleFill, .number23Circle, .number23CircleFill, .number24Circle, .number24CircleFill, .number25Circle, .number25CircleFill, .number26Circle, .number26CircleFill, .number27Circle, .number27CircleFill, .number28Circle, .number28CircleFill, .number29Circle, .number29CircleFill, .number30Circle, .number30CircleFill, .number31Circle, .number31CircleFill, .number32Circle, .number32CircleFill, .number33Circle, .number33CircleFill, .number34Circle, .number34CircleFill, .number35Circle, .number35CircleFill, .number36Circle, .number36CircleFill, .number37Circle, .number37CircleFill, .number38Circle, .number38CircleFill, .number39Circle, .number39CircleFill, .number40Circle, .number40CircleFill, .number41Circle, .number41CircleFill, .number42Circle, .number42CircleFill, .number43Circle, .number43CircleFill, .number44Circle, .number44CircleFill, .number45Circle, .number45CircleFill, .number46Circle, .number46CircleFill, .number47Circle, .number47CircleFill, .number48Circle, .number48CircleFill, .number49Circle, .number49CircleFill, .number50Circle, .number50CircleFill, .aSquare, .aSquareFill, .bSquare, .bSquareFill, .cSquare, .cSquareFill, .dSquare, .dSquareFill, .eSquare, .eSquareFill, .fSquare, .fSquareFill, .gSquare, .gSquareFill, .hSquare, .hSquareFill, .iSquare, .iSquareFill, .jSquare, .jSquareFill, .kSquare, .kSquareFill, .lSquare, .lSquareFill, .mSquare, .mSquareFill, .nSquare, .nSquareFill, .oSquare, .oSquareFill, .pSquare, .pSquareFill, .qSquare, .qSquareFill, .rSquare, .rSquareFill, .sSquare, .sSquareFill, .tSquare, .tSquareFill, .uSquare, .uSquareFill, .vSquare, .vSquareFill, .wSquare, .wSquareFill, .xSquare, .xSquareFill, .ySquare, .ySquareFill, .zSquare, .zSquareFill, .dollarsignSquare, .dollarsignSquareFill, .centsignSquare, .centsignSquareFill, .yensignSquare, .yensignSquareFill, .sterlingsignSquare, .sterlingsignSquareFill, .francsignSquare, .francsignSquareFill, .florinsignSquare, .florinsignSquareFill, .turkishlirasignSquare, .turkishlirasignSquareFill, .rublesignSquare, .rublesignSquareFill, .eurosignSquare, .eurosignSquareFill, .dongsignSquare, .dongsignSquareFill, .indianrupeesignSquare, .indianrupeesignSquareFill, .tengesignSquare, .tengesignSquareFill, .pesetasignSquare, .pesetasignSquareFill, .pesosignSquare, .pesosignSquareFill, .kipsignSquare, .kipsignSquareFill, .wonsignSquare, .wonsignSquareFill, .lirasignSquare, .lirasignSquareFill, .australsignSquare, .australsignSquareFill, .hryvniasignSquare, .hryvniasignSquareFill, .nairasignSquare, .nairasignSquareFill, .guaranisignSquare, .guaranisignSquareFill, .coloncurrencysignSquare, .coloncurrencysignSquareFill, .cedisignSquare, .cedisignSquareFill, .cruzeirosignSquare, .cruzeirosignSquareFill, .tugriksignSquare, .tugriksignSquareFill, .millsignSquare, .millsignSquareFill, .sheqelsignSquare, .sheqelsignSquareFill, .manatsignSquare, .manatsignSquareFill, .rupeesignSquare, .rupeesignSquareFill, .bahtsignSquare, .bahtsignSquareFill, .larisignSquare, .larisignSquareFill, .bitcoinsignSquare, .bitcoinsignSquareFill, .number0Square, .number0SquareFill, .number1Square, .number1SquareFill, .number2Square, .number2SquareFill, .number3Square, .number3SquareFill, .number4Square, .number4SquareFill, .number4AltSquare, .number4AltSquareFill, .number5Square, .number5SquareFill, .number6Square, .number6SquareFill, .number6AltSquare, .number6AltSquareFill, .number7Square, .number7SquareFill, .number8Square, .number8SquareFill, .number9Square, .number9SquareFill, .number9AltSquare, .number9AltSquareFill, .number00Square, .number00SquareFill, .number01Square, .number01SquareFill, .number02Square, .number02SquareFill, .number03Square, .number03SquareFill, .number04Square, .number04SquareFill, .number05Square, .number05SquareFill, .number06Square, .number06SquareFill, .number07Square, .number07SquareFill, .number08Square, .number08SquareFill, .number09Square, .number09SquareFill, .number10Square, .number10SquareFill, .number11Square, .number11SquareFill, .number12Square, .number12SquareFill, .number13Square, .number13SquareFill, .number14Square, .number14SquareFill, .number15Square, .number15SquareFill, .number16Square, .number16SquareFill, .number17Square, .number17SquareFill, .number18Square, .number18SquareFill, .number19Square, .number19SquareFill, .number20Square, .number20SquareFill, .number21Square, .number21SquareFill, .number22Square, .number22SquareFill, .number23Square, .number23SquareFill, .number24Square, .number24SquareFill, .number25Square, .number25SquareFill, .number26Square, .number26SquareFill, .number27Square, .number27SquareFill, .number28Square, .number28SquareFill, .number29Square, .number29SquareFill, .number30Square, .number30SquareFill, .number31Square, .number31SquareFill, .number32Square, .number32SquareFill, .number33Square, .number33SquareFill, .number34Square, .number34SquareFill, .number35Square, .number35SquareFill, .number36Square, .number36SquareFill, .number37Square, .number37SquareFill, .number38Square, .number38SquareFill, .number39Square, .number39SquareFill, .number40Square, .number40SquareFill, .number41Square, .number41SquareFill, .number42Square, .number42SquareFill, .number43Square, .number43SquareFill, .number44Square, .number44SquareFill, .number45Square, .number45SquareFill, .number46Square, .number46SquareFill, .number47Square, .number47SquareFill, .number48Square, .number48SquareFill, .number49Square, .number49SquareFill, .number50Square, .number50SquareFill]

        case .math:
            return [.sum, .percent, .function, .plus, .plusCircle, .plusCircleFill, .plusSquare, .plusSquareFill, .minus, .minusCircle, .minusCircleFill, .minusSquare, .minusSquareFill, .plusminus, .plusminusCircle, .plusminusCircleFill, .plusSlashMinus, .minusSlashPlus, .multiply, .multiplyCircle, .multiplyCircleFill, .multiplySquare, .multiplySquareFill, .divide, .divideCircle, .divideCircleFill, .divideSquare, .divideSquareFill, .equal, .equalCircle, .equalCircleFill, .equalSquare, .equalSquareFill, .lessthan, .lessthanCircle, .lessthanCircleFill, .lessthanSquare, .lessthanSquareFill, .greaterthan, .greaterthanCircle, .greaterthanCircle, .greaterthanSquare, .greaterthanSquareFill, .number, .numberCircle, .numberCircleFill, .numberSquare, .numberSquareFill, .xSquareroot]
        }
    }
}
